A Mechanically Veri ed Veri cation Condition Generator
نویسندگان
چکیده
Veri cation Condition Generator (VCG) tools have been e ective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might not be sound. In our work, we de ne and rigorously prove correct a VCG tool within the HOL theorem proving system, for a standard while-loop language, with one new feature not usually treated: expressions with side e ects. Starting from a structural operational semantics of this programming language, we prove as theorems the axioms and rules of inference of a Hoare-style axiomatic semantics, verifying their soundness. This axiomatic semantics is then used to de ne and prove correct a VCG tool for this language. Finally, this veri ed VCG is applied to an example program to verify its correctness.
منابع مشابه
A Formally Veri ed Algorithm for Clock Synchronization Under a Hybrid Fault Model
A small modi cation to the interactive convergence clock synchronization algorithm allows it to tolerate a larger number of simple faults than the standard algorithm, without reducing its ability to tolerate arbitrary or \Byzantine" faults. Because the extended caseanalysis required by the new fault model complicates the already intricate argument for correctness of the algorithm, it has been s...
متن کاملVeri cation Methodology of Compatible Microprocessors
| As the complexity of high-performance microprocessor increases, functional veri cation becomes more di cult and emerges as the bottleneck of the design cycle. In this paper, we suggest a functional veri cation methodology, especially for the compatible microprocessor design. To guarantee the perfect compatibility with previous microprocessors, we developed three C models in di erent represent...
متن کاملModel Abstraction for Formal Veri cation
As the complexity of circuit designs grows, designers look toward formal veri cation to achieve better test coverage for validating complex designs. However, this approach is inherently computationally intensive, and hence, only small designs can be veri ed using this method. To achieve better performance, model abstraction is necessary. Model abstraction reduces the number of states necessary ...
متن کاملOf What Use is a Veri ed Compiler Speci cation ?
Program veri cation is normally performed on source code. However, it is the object code which is executed and so which ultimately must be correct. The compiler used to produce the object code must not introduce bugs. The majority of the compiler correctness literature is concerned with the veri cation of compiler speci cations rather than executable implementations. We discuss di erent ways th...
متن کاملAn Architecture for Veri ed
machine term rewriting graph rewriting traversal techniques . . . prefabricated parts generated from specifications Compiler executes Figure3. Implementation architecture 4.3 An Initial Correct Compiler The discussion in the previous subsection relies on the availability of a correct compiler for the implementation language. This problem must be dealt with in order to continue. The aim of this ...
متن کامل